其他
“性能问题终结者”Olympic,解决用户痛点背后的秘密是......
舆情反馈
舆情信息的整理,主要是Crash、白屏、网络出错、黑屏、图片不显示、ANR等。
舆情的统计数据,其中每天有X条与性能体验相关的舆情,一条舆情背后是上万级别的用户面临的痛点。
线上性能问题形势严峻,其中卡顿、打不开、白屏、无反应、闪退、页面加载慢等用户痛点问题是舆情的TOP问题,也是全链路性能体验治理的发力点。
▐ 全链路性能体验目标
打造高可用APP(GSM)
整体架构
Olympic帮助HA-EMAS做数据呈现,报表展示,风险分析,订阅跟报警;
Olympic帮助MOTU-EYE做AB实验,通过数据帮助业务更好的决策;
Olympic帮助TMQ做线下验收,持续集成,把问题拦在线下;
Olympic帮助舆情平台提供问题信息,帮助开发快速解决用户问题。
核心技术创新
▐ TMQ 性能卡口自动化
▐ 大图片检测
▐ SharedPreferences优化
Android的开发者已经被SharedPreferences训练了很多次,包括AndroidStudio也会推进开发者将commit改成apply,从而提升体验(这个Android官方的推荐使用方法其实我本人在手淘的世始建过程中是不认可的);
在大应用模块化开发的环境下,如何保证所有的开发同学(包含新手同学)能遵守“非UI线程的SharedPreferences调用commit”这个方案来解决ANR是很难的(我个人的看法是‘如果没有合理的规范化的开发规范,人是最容易出错的’)。
问题快速解决手册
▐ 内存监控
Activity泄漏
Service泄漏
Receiver泄漏
▐ 资源泄漏
文件描述符泄漏
线程泄漏
Socket泄漏
数据库泄漏
▐ 卡顿
消息耗时
主线程读/写
主线程网络读写
主线图片解析
主线程SlowCall
主线程碎片读写
主线程BinderCall
OverLayout
OverDraw
▐ 视觉
白屏检测
图片404检测
▐ 安全
网络明文检测
文件明文导出检测
文件是私有的,接收file://Uri的app无法访问该文件。
在Android6.0之后引入运行时权限,如果接收file://Uri的app没有申请READ_EXTERNAL_STORAGE权限,在读取文件时会引发崩溃。
外跳检测
总结
▐ 全面
▐ 精准高效
▐ 创新
▐ 自动化
▐ 开放
▐ 赋能
参考
还等什么,赶紧加入我们一起共同打造淘系的技术质量。
请投递简历至邮箱:hane.yjr@alibaba-inc.com
END